﻿using AutoMapper.Internal.Mappers;
using EMS.system.Entityies.BaseData;
using EMS.system.IEntityAppService.BaseData.IPermissionService.PermissionDto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;

namespace EMS.system.IEntityAppService.BaseData.IPermissionService
{
    public interface IPermissionAppService:IApplicationService
    {
        /// <summary>
        /// 权限新增
        /// </summary>
        /// <param name="addDto"></param>
        /// <returns></returns>
        Task<int> PermissionAdd(PermissionAddDto addDto);

        /// <summary>
        /// 显示权限
        /// </summary>
        /// <param name="name"></param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        Task<List<Permission>> PermissionAllList();

        /// <summary>
        /// 显示权限
        /// </summary>
        /// <param name="name"></param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        Task<List<PermissionSelDto>> PermissionList();

        /// <summary>
        /// 删除权限
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<int> PermissionDel(string ids);

        /// <summary>
        /// 获取单个权限信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<PermissionUpdDto> GetSingPermission(int id);

        /// <summary>
        /// 编辑权限信息
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<int> PermissionUpd(PermissionUpdDto dto);
    }
}
